fix(mcp): add timeout and process kill to test tool#1595
Open
eliasreis54 wants to merge 4 commits into
Open
Conversation
Flutter tests can hang indefinitely when pumpAndSettle() is called without a timeout argument. The MCP server was waiting on the process forever with no way to recover. Adds a timeout_seconds parameter (default 120) to the test tool. When the timeout fires, sends SIGKILL to flutter_tester via pkill — the only reliable mechanism to terminate a hung Flutter test process — then returns an actionable error to the caller. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ryzizub
reviewed
May 18, 2026
Contributor
There was a problem hiding this comment.
Hey @eliasreis54, this might fix the MCP issue where timeouts from flutter test aren't bubbled up. But since the same issue exists in the very_good test command itself, shouldn't the fix be applied there too?
There we might find better way to tackle this, because this might introduce many issues (120 seconds for large codebases is quite aggresive)
Adds a --timeout <seconds> option to very_good test. When set, a Timer fires pkill -KILL -f flutter_tester and completes the test run with a non-zero exit code. No timeout is applied when the flag is omitted. The MCP server's own .timeout() + pkill block is removed in favour of passing --timeout directly to the CLI, keeping the kill logic in one place. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Status
READY
Description
Flutter tests can hang indefinitely when pumpAndSettle() is called without a timeout argument. The MCP server was waiting on the process forever with no way to recover.
Adds a timeout_seconds parameter (default 120) to the test tool. When the timeout fires, sends SIGKILL to flutter_tester via pkill — the only reliable mechanism to terminate a hung Flutter test process — then returns an actionable error to the caller.
Type of Change